:: [Int] -> Int package:ghc-lib-parser

Extract the last element of a list, which must be finite and non-empty.
>>> last [1, 2, 3]
3

>>> last [1..]
* Hangs forever *

>>> last []
*** Exception: Prelude.last: empty list
Extract the first element of a list, which must be non-empty.
>>> head [1, 2, 3]
1

>>> head [1..]
1

>>> head []
*** Exception: Prelude.head: empty list
Utility function to go from a singleton list to it's element. Wether or not the argument is a singleton list is only checked in debug builds.